package org.example.todolist.service;

import org.example.todolist.entity.Task;

import java.util.ArrayList;

/**
 * 任务服务接口
 */
public interface TaskService {
    /**
     * 创建任务
     * @param task 任务对象
     * @return 创建成功返回任务对象，失败返回null
     */
    Task createTask(Task task);

    /**
     * 根据ID查询任务
     * @param id 任务ID
     * @return 任务对象
     */
    Task getTaskById(Integer id);

    /**
     * 查询列表的所有任务
     * @param listId 列表ID
     * @return 任务集合
     */
    ArrayList<Task> getTasksByListId(Integer listId);

    /**
     * 更新任务
     * @param task 任务对象
     * @return 更新成功返回true，失败返回false
     */
    boolean updateTask(Task task);

    /**
     * 删除任务
     * @param id 任务ID
     * @return 删除成功返回true，失败返回false
     */
    boolean deleteTask(Integer id);

    /**
     * 更新任务状态
     * @param id 任务ID
     * @param status 任务状态
     * @return 更新成功返回true，失败返回false
     */
    boolean updateTaskStatus(Integer id, Integer status);
}
